# -*- coding = utf-8 -*-
# @Time    : 2025/3/14 下午8:57
# @Author  : yqk
# @File    : 正则表达式.py
# @Software: PyCharm


# import re
# pat = re.compile(r'AA')
# m = pat.search("xXX")
# print(m)

# 1.获取<tr></tr>标签之间内容
import re
language = '''<tr><th>性別:</th><td>男</td></tr><tr>'''

# 1. 正则表达式获取 <tr> 和 </tr> 之间的内容
res_tr = r'<tr>(.*?)</tr>'  # 这里的正则表达式会匹配 <tr> 到 </tr> 之间的内容
m_tr = re.findall(res_tr, language, re.S | re.M)  # 使用 re.S 或 re.M 来处理换行符和多行匹配

for line in m_tr:
    print(line)  # 输出每个<tr>标签内容

    # 2. 获取 <th> 标签内容
    res_th = r'<th>(.*?)</th>'  # 匹配 <th> 到 </th> 之间的内容
    m_th = re.findall(res_th, line, re.S | re.M)

    for mm in m_th:
        print(mm)  # 输出 <th> 标签中的内容

    # 3. 获取 <td> 标签内容
    res_td = r'<td>(.*?)</td>'  # 匹配 <td> 到 </td> 之间的内容
    m_td = re.findall(res_td, line, re.S | re.M)

    for nn in m_td:
        print(nn)  # 输出 <td> 标签中的内容



# 2.获取超链接<a href=..></a>之间内容
# coding=utf-8
import re

# 假设的HTML内容
content = '''
<td>
<a href="https://www.baidu.com/articles/zj.html" title="浙江省">浙江省主题介绍</a>
<a href="https://www.baidu.com/articles/gz.html" title="贵州省">贵州省主题介绍</a>
</td>
'''

# 1. 获取 <a href="..."> 和 </a> 之间的内容（即文本）
print(u'获取链接文本内容:')
res = r'<a .*?>(.*?)</a>'  # 正则匹配 <a> 和 </a> 标签之间的文本内容
mm = re.findall(res, content, re.S | re.M)
for value in mm:
    print(value)

# 2. 获取所有 <a href="..."> 标签中的所有内容（包括文本和属性）
print(u'\n获取完整的 <a> 标签内容:')
urls = re.findall(r'<a.*?href=.*?>.*?</a>', content, re.S | re.M)
for i in urls:
    print(i)

# 3. 获取 <a href="..."> 中的 URL
print(u"\n获取链接中的 URL:")
res_url = r'(?<=href=").+?(?=")|(?<=href=\').+?(?=\')'  # 正则匹配 href 属性中的 URL
link = re.findall(res_url, content, re.I | re.S | re.M)
for url in link:
    print(url)
